require 'Solucao'
require 'F6.rb'
require 'SolucaoFactory'

class Seletor
	

	def initialize funcao, quantidade
		@funcao = funcao		
		@quantidade = quantidade			
	end
	
	def seleciona pop
		pop = pop.sort_by do |v|
			@funcao.calcula(v.valor)
		end
		pop.reverse!
		return pop[0..(@quantidade-1)]
	end

end
=begin
factory = SolucaoFactory.new 10, -500, 500		
pop = factory.gerar_populacao

s = Seletor.new(F6.new(-500,500), pop, 3)

selecionados = s.seleciona
selecionados.each do |x|
	p F6.new(-500,500).calcula(x.valor)
end
=end
